package com.coa.cadastros;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.coa.data.interfaces.IRepositorioMatriculaAlunos;
import com.coa.educacao.Aluno;
import com.coa.educacao.Disciplina;
import com.coa.educacao.MatriculaAluno;

import exceptions.ExceptionCadastro;

public class CadastroMatriculaAlunos {

	private IRepositorioMatriculaAlunos repositorio;

	public CadastroMatriculaAlunos(IRepositorioMatriculaAlunos rep) {
		this.repositorio = rep;
	}

	public int cadastrar(MatriculaAluno matAluno) throws ExceptionCadastro{
		if(!this.existe(matAluno.getProtocolo())){
			this.repositorio.inserir(matAluno);
		}else{
			throw new ExceptionCadastro("Matricula do Aluno ja cadastrado!");
		}
		
		return 0;
	}

	public void remover(String protocolo){
		this.repositorio.remove(protocolo);
	}

	public MatriculaAluno procurar(String protocolo){
		return this.repositorio.procurar(protocolo);
	}

	public boolean existe(String protocolo){
		return this.repositorio.existe(protocolo);
	}

	public void atualizar(MatriculaAluno matAluno){
		this.repositorio.atualizar(matAluno);
	}

	public Iterator<MatriculaAluno> getIterator(){
		return this.repositorio.getIterator();
	}

	public Iterator<MatriculaAluno> getListMatriculaAluno(String cpf) {

		Iterator<MatriculaAluno> iterator = 
			repositorio.getListMatriculaAluno( cpf );

		return null;
	}

	public Iterator<Disciplina> getDisciplinasCursadas(Aluno aluno) {
		
		return null;
	}
	
    private List<Disciplina> partialGetDisciplinasCursadas(Aluno aluno) {
		
		return null;
	}
	
    


}
